package club.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotations.TableField;

import java.util.Date;
import java.util.List;

/**
 * Comment 类用于表示评论的实体类。
 *
 * - id: 评论ID
 * - userId: 发表评论的用户ID
 * - adminsId: 管理员ID（如果评论由管理员发布）
 * - petId: 关联的宠物ID（如果评论与特定宠物相关）
 * - commentTime: 评论时间，使用 @JsonFormat 和 @DateTimeFormat 注解将日期格式化为 "yyyy-MM-dd" 格式，时区为 GMT+8。
 * - content: 评论内容
 * - user: 评论所属的用户对象，使用 @TableField(exist = false) 表示在数据库中并不存在该字段，仅用于关联查询时使用
 * - admin: 发布评论的管理员对象，同样使用 @TableField(exist = false)
 * - pet: 被评论的宠物对象，同样使用 @TableField(exist = false)
 * - answer: 评论的回复列表，使用 @TableField(exist = false) 表示在数据库中不存在该字段，仅用于关联查询时使用
 */
@Data
public class Comment {
    private Integer id;
    private Integer userId;
    private Integer adminsId;
    private Integer petId;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date commentTime;
    private String content;
    @TableField(exist = false)
    private User user;
    @TableField(exist = false)
    private Admins admin;
    @TableField(exist = false)
    private Pet pet;
    @TableField(exist = false)
    private List<Answer> answer;

}
